﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using vudu.Logica.Clases;

namespace vudu.Pruebas
{
    [TestFixture]
    public class PruebaRol
    {
        [Test]
        public void PruebaVerificarCedulaProfesor()
        {
            Rol rol = new Rol();
            bool resp1 = rol.VerificarCedulaProfesor(14990555);
            bool resp2 = rol.VerificarCedulaProfesor(04099505);
            Assert.IsTrue(resp1);
            Assert.IsFalse(resp2);
        }

        [Test]
        public void PruebaValidarCorreo()
        {
            Rol rol = new Rol();
            bool resp1 = rol.VerificarCorreo("ucab@univ.vudu.com");
            bool resp2 = rol.VerificarCorreo("cualquiercosa@univ.vudu.com");
            Assert.IsTrue(resp1);
            Assert.IsFalse(resp2);
            
        }

        /// prueba del metodo UsuarioRol
        [Test]
        public void PruebaUsuarioRol()
        {
            Rol rolActual = new Rol();
            rolActual = rolActual.UsuarioActual("magurno@prof.vudu.com","12345");
            Assert.IsNotNull(rolActual);
            Assert.IsInstanceOf(typeof(Rol), rolActual);
            Assert.AreEqual(rolActual.Correo, "magurno@prof.vudu.com");
            Assert.AreEqual(rolActual.Password, "12345");
        }

        /// Prueba del metodo CargarUsuarioDeRol
        [Test]
        public void PruebaCargarUsuarioDeRol()
        {
            Rol rol = new Rol();
            Rol rolProfesor = rol.UsuarioActual("magurno@prof.vudu.com", "12345");
            Rol rolEstudiante = rol.UsuarioActual("pedro@est.vudu.com", "12345");
            Rol rolEscuela = rol.UsuarioActual("informatica@esc.vudu.com", "12345");
            Rol rolUniv = rol.UsuarioActual("ucab@univ.vudu.com", "12345");

            rol.CargarUsuarioDeRol(rolEstudiante);
            rol.CargarUsuarioDeRol(rolProfesor);
            rol.CargarUsuarioDeRol(rolEscuela);
            rol.CargarUsuarioDeRol(rolUniv);

            Assert.IsNotNull(rolEstudiante.MiEstudiante);
            Assert.AreNotEqual(rolEstudiante.FkEst, 0);
            Assert.AreEqual(rolEstudiante.MiEstudiante.Nombre,"Pedro");
            Assert.AreEqual(rolEstudiante.MiEstudiante.Apellido, "Perez");
            Assert.AreEqual(rolEstudiante.MiEstudiante.Cedula, 19345678);
            Assert.AreEqual(rolEstudiante.MiEstudiante.Expediente, "123");
            Assert.AreEqual(rolEstudiante.MiEstudiante.IdEst, 1);

            Assert.IsNotNull(rolProfesor.MiProfesor);
            Assert.AreNotEqual(rolProfesor.FkProf, 0);
            Assert.AreEqual(rolProfesor.MiProfesor.Cedula, 14990555);
            Assert.AreEqual(rolProfesor.MiProfesor.Nombre, "Carlo");
            Assert.AreEqual(rolProfesor.MiProfesor.Apellido, "Magurno");

            Assert.IsNotNull(rolEscuela.MiEscuela);
            Assert.AreNotEqual(rolEscuela.FkEsc, 0);
            Assert.AreEqual(rolEscuela.MiEscuela.IdEscuela, 1);
            Assert.AreEqual(rolEscuela.MiEscuela.NombreEscuela, "Ingeniería Informática");

            Assert.IsNotNull(rolUniv.MiUniversidad);
            Assert.AreNotEqual(rolUniv.FkUniv, 0);
            Assert.AreEqual(rolUniv.MiUniversidad.Nombre, "Universidad Catolica Andres Bello");

        }

        public void PruebaConsultrEscuelas()
        {
            Rol rol = new Rol();
            List<Escuela> escuelas = new List<Escuela>();

        }

        [Test]
        public void PruebaRegistrarRol()
        {
            Rol rol = new Rol();
            Rol rolProfesor = new Rol();
            Rol rolEstudiante = new Rol();
            Rol rolEscuela = new Rol();
            Rol rolUniv = new Rol();

            rolEstudiante.Correo = "pedro@est.vudu.com";
            rolEstudiante.Password = "12345";
            rolEstudiante.FkEst= 1;

            rolProfesor.Correo = "magurno@prof.vudu.com";
            rolProfesor.Password = "12345";
            rolProfesor.FkProf = 1;

            rolEscuela.Correo = "informatica@esc.vudu.com";
            rolEscuela.Password = "12345";
            rolEscuela.FkEsc = 1;

            rolUniv.Correo = "ucab@univ.vudu.com";
            rolUniv.Password = "12345";
            rolUniv.FkUniv = 1;

            bool aux1 = rol.RegistrarRol(rolEstudiante, 1);
            bool aux2 = rol.RegistrarRol(rolProfesor, 2);
            bool aux3 = rol.RegistrarRol(rolEscuela, 3);
            bool aux4 = rol.RegistrarRol(rolUniv, 4);

            Assert.IsTrue(aux1);
            //Assert.IsTrue(aux2);
            Assert.IsTrue(aux3);
            Assert.IsTrue(aux4);
        }

    }
}